package com.gtt.lazy.service;

import java.util.List;

import com.gtt.lazy.domain.Category;
import com.gtt.lazy.domain.CategoryToSofa;
import com.gtt.lazy.domain.Sofa;

/**
 * 类别与沙发映射管理服务接口
 * 
 * @author 高甜甜
 * @date 2009-7-7
 */
public interface CategorySofaService {

	/**
	 * 添加类别与沙发的映射
	 * 
	 * @param cts
	 * @return
	 */
	int add(CategoryToSofa cts);

	/**
	 * 删除类别与沙发的映射
	 * 
	 * @param id
	 */
	void delete(int id);

	/**
	 * 删除类别与沙发的映射 - 通过沙发id与类别id
	 * 
	 * @param cts
	 */
	void delete(CategoryToSofa cts);

	/**
	 * 查看是否已经存在
	 * 
	 * @param cts
	 * @return
	 */
	boolean checkExist(CategoryToSofa cts);

	/**
	 * 列出某类别下的沙发
	 * 
	 * @param cid
	 * @return
	 */
	List<Sofa> listSofas(int cid);

	/**
	 * 列出某类别下的沙发(分页)
	 * 
	 * @param cid
	 * @param start
	 * @param size
	 * @return
	 */
	List<Sofa> listSofas(int cid, int start, int size);

	/**
	 * 统计某类别下的沙发总数
	 * 
	 * @param cid
	 * @return
	 */
	int countSofas(int cid);

	/**
	 * 列出某沙发所属的类别
	 * 
	 * @param sid
	 * @return
	 */
	List<Category> listCategories(int sid);

	/**
	 * 列出某沙发所属的类别(分页)
	 * 
	 * @param sid
	 * @param start
	 * @param size
	 * @return
	 */
	List<Category> listCategories(int sid, int start, int size);

	/**
	 * 统计某沙发所属类别的总数
	 * 
	 * @param sid
	 * @return
	 */
	int countCategories(int sid);
}
